文件管理

文件系统基础

文件的概念

  1. 文件的定义
      文件是以计算机硬盘为载体存储在计算机上的信息集合。文件系统是管理文件的机构
  2. 文件自底向上结构
    • 数据项:文件系统最低级数据组织形式
    • 记录:一组相关数据项的集合
    • 文件:创建者定义的一组相关信息集合
  3. 文件属性
    • 名称
    • 大小
    • 类型
    • 位置
    • 保护
    • 时间、日期和用户标识
  4. 文件基本操作
    • 创建文件
    • 读文件
    • 写文件
    • 文件重定位
    • 删除文件
    • 截断文件
  5. 文件的打开和关闭
    打开文件信息
    • 文件指针
    • 文件打开计数
    • 文件磁盘位置

文件逻辑结构

  1. 无结构文件(流式文件)
  2. 有结构文件(记录式文件)
  • 顺序文件:
    • 串结构:记录之间的顺序与关键字无关
    • 顺序结构:记录按照关键字排序
  • 引索文件
  • 引索顺序文件
  • 直接文件或散列文件

目录结构

目录管理通过树形结构实现

  1. 文件控制块(FCB)和索引结点
    • 文件控制块:
      • 基本信息
      • 文件控制信息
      • 使用信息
    • 索引结点
  2. 目录结构
    • 目录操作
      • 搜索
      • 创建文件
      • 删除文件
      • 显示目录
      • 修改目录
    • 目录结构
      • 单级目录结构
      • 两级目录结构
      • 多级目录结构:如Linux的目录结构
      • 无环图目录结构

文件共享

文件共享:多个用户或进程共享一份文件,系统中只保留该文件一份副本

  1. 基于索引结点的共享方式(硬链接)
    多个指针指向一个索引结点,只要还有指针指向该索引节点,该索引结点就不能删除
  2. 利用符号链实现文件共享(软连链接)
    记录到达共享文件的路径,根据文件路径找文件。
  3. 比较:硬链接比软链接查找速度快

文件保护

文件保护通过口令保护、加密保护和访问控制方式实现

  1. 访问类型
    • 执行
    • 添加
    • 删除
    • 列表清单
  2. 访问类型
    • 拥有者
    • 其他用户

文件系统实现

文件系统层次结构

文件系统层次结构

目录实现

  1. 线性列表
  2. 哈希表

文件实现

  1. 文件分配方式
  • 连续分配:每个文件在磁盘中占用一个连续的块,支持顺序访问和直接访问,有外部碎片。
  • 链接分配:采用离散分配方式,只支持指针顺序访问,无外部碎片。
  • 索引分配:每个文件的盘块号构成索引块,若要读第i块,则通过索引块的第i个条目的指针来操作所需的块,支持多层索引和混合索引。
  1. 文件存储空间管理
  • 空闲表:所有空闲块组织成表
  • 空闲链表法:所有空闲块组织成链表
  • 位示图:利用二进制的每位记录空闲块,1表示块已经使用,0表示空闲
  • 成组链接法:结合空闲表和空闲链表,适合大型文件系统

磁盘组织和管理

磁盘的结构

  1. 磁道:盘面的一组同心圆
  2. 扇区:磁道划分为扇区,磁盘可寻址的最小存储单位
  3. 柱面:相对位置相同的磁道组成柱面
  4. 磁盘地址:用“柱面号.盘面号.扇区号”表示

磁盘调度算法

一次磁盘读写操作由寻道时间、延迟时间、传输时间组成

  • 寻道时间:磁头移动到指定磁道的时间
  • 延迟时间:磁头定位到某一磁道的扇区时间
  • 传输时间:读写数据的时间

磁盘调度算法

  • 先来先服务(FCFS)算法
  • 最短寻找时间优先(SSTF)
  • 扫描(SCAN)算法或电梯算法
  • 循环扫描(C-SCAN)算法

磁盘的管理

  1. 磁盘初始化:对磁盘进行低级格式化和逻辑格式化
  2. 引导快:存放自举程序,
  3. 坏块:对于损坏扇区的处理